/*

一条线段，其端点分别为0和n
有两个点，位置分别为p1,p2
求这两点行走的路程覆盖线段的最短时间

假设：p1<p2 

枚举+二分：
1、p1走完全程
2、p2走完全程
3、p1向右走完全程，p2向左走完全程
4、p1向左走完全程，p2向右走完全程，中间剩余部分二者共同完成 

答案即为min(1, 2, 3, 4) 

*/
#include<iostream>
#include<string>
#include<string.h>
#include<vector>
#include<cstdio>
#include<algorithm>
#include<map>
#include<set>
#include<queue>
#include<cmath>
using namespace std;
#define ll long long
#define pi acos(-1)


signed main()
{
	int t;
	scanf("%d",&t);
	while(t--)
	{
		double n,p1,p2,v1,v2;
		scanf("%lf%lf%lf%lf%lf",&n,&p1,&v1,&p2,&v2);
		
		if(p1>p2)
		{
			swap(p1,p2);
			swap(v1,v2);
		}
		
		//第一种：
		double ans = min(p1+n,n+n-p1)/v1;
		//第二种：
		ans = min(ans,min(p2+n,n+n-p2)/v2);
		//第三种：
		ans = min(ans,max((n-p1)/v1,p2/v2));
		//第四种：
		double l = p1;
		double r = p2;
		while(l+0.0000000001<r)
		{
			double mid = (l+r)/2;
			double temp1 = min(p1+mid,mid+mid-p1)/v1;
			double temp2 = min(2*n-p2-mid,p2+n-2*mid)/v2;
			
			ans = min(ans,max(temp1,temp2));
			if(temp1<temp2) l = mid;
			else r = mid;
		}
		
		printf("%.10f\n",ans);
	}
	return 0;
}